home *** CD-ROM | disk | FTP | other *** search
-
- { When you change modes, you lose the contents of the screen
- (cleared). It's all IBM's fault. You see, there is also a change in
- resolution and available colors and how video is used. It totally changes
- and that's a way of life on the PC. Sorry, no way around it but to use
- full graphics mode.
-
- FA> use, of course...) (I can't do it on a IBM, but ask me for C64-sources,
- FA> if you want to have a look <grin>)
-
- 320 x 200 x 256c, 13h, isn't the same as the resolution required for 80x50
- text (640 x 400 x 256). In that case, I have seen graphics (simple) under
- text in text mode. If you're forced to change resolution, kiss it all good
- bye.
-
- Run this under text: }
-
- {$A+,B-,E-,F-,G+,I-,L-,N-,O-,R-,S-,V-,X-}
-
- program RedBar;
-
- VAR
- C:Byte;
- C2,C3,C4:Word;
- SINTAB:Array[0..127] of Word;
- HeadPtr:Word absolute $40:$1A;
- TailPtr:Word absolute $40:$1C;
-
- begin;
- for c:=0 to 127 do
- sintab[c]:=Trunc((Sin((2*Pi/128)*C)+1)*135);
- C3:=0;
- REPEAT
- INLINE($FA);
-
- repeat until (port[$3da] and 8)>0;
- repeat until (port[$3da] and 8)=0;
- for c4:=0 to sintab[c3 and 127] do begin
- repeat until (port[$3da] and 1)=0;
- repeat until (port[$3da] and 1)>0;
- end;
- for c:=0 to 63 do begin
- repeat until (port[$3da] and 1)>0;
- Port[$3C8]:=0;
- Port[$3C9]:=C;
- Port[$3C9]:=0;
- Port[$3C9]:=0;
- repeat until (port[$3Da] and 1)=0;
- end;
-
- for c:=63 downto 0 do begin;
- repeat until (port[$3Da] and 1)>0;
- Port[$3C8]:=0;
- Port[$3C9]:=C;
- Port[$3C9]:=0;
- Port[$3C9]:=0;
- Repeat until (port[$3da] and 1)=0;
- end;
-
- port[$3C8]:=0;
- port[$3c9]:=0;port[$3c9]:=0;Port[$3c9]:=0;
- Inc(C3);
- inline($FB);
- until headptr<>tailptr;
- headptr:=tailptr;
- end.